#include<cstdio>
#include<iostream>
using namespace std;
int n,k,j,a[5];
bool flag,b[1024];
string t[1024],sa[5],s[1024];
int main()
{
  freopen("network.in","r",stdin);
  freopen("network.out","w",stdout);
  scanf("%d",&n);
  for(int i=0;i<n;i++)
  {
  	cin>>t[i]>>s[i];
  	b[i]=0;
  	a[0]=a[1]=a[2]=a[3]=a[4]=0;
  	sa[0]=sa[1]=sa[2]=sa[3]=sa[4]="";
  	flag=0;
  	j=0;
  	
  	for(k=0;k<3;k++)
  	  for(;j<s[i].size();j++)
  	  {
  	    if(s[i][j]=='.')
		{
		  j++;break;	
		}
  	    sa[k]+=s[i][j];
	  }
  	for(;j<s[i].size();j++)
  	  {
  	    if(s[i][j]==':')
		{
		  j++;break;	
		}
  	    sa[3]+=s[i][j];
	  }
	for(;j<s[i].size();j++) sa[4]+=s[i][j];
	
	for(k=0;k<5;k++)
	{
	  if(sa[k][0]=='0'&&sa[k].size()>1||sa[k].size()<1) 
	  {
	  	flag=1;
	  	break;
	  }
	  for(int j=0;j<sa[k].size();j++)
	  	if('0'<=sa[k][j]&&sa[k][j]<='9') a[k]=a[k]*10+sa[k][j]-'0';
	  	else
	  	{
	  	  flag=1;
	  	  break;
		}
	  if(flag) break;
    }
    if(a[0]<0||a[0]>255||a[1]<0||a[1]>255||a[2]<0||a[2]>255||a[3]<0||a[3]>255||a[4]<0||a[4]>65545) flag=1;
    if(flag) 
    {
      printf("ERR\n");
      b[i]=1;
      continue;
	}
	if(t[i]=="Server")
	{
	  for(int j=0;j<i;j++)
	    if(s[j]==s[i]&&t[i]==t[j]&&b[j]==0)
	    {
	      printf("FAIL\n");
	      flag=1;
	      break;
		}
	  if(flag==0) printf("OK\n");
	}
	else
	{
	  bool fl=0;
	  for(int j=0;j<i;j++)
	    if(s[j]==s[i]&&t[j]=="Server"&&b[j]==0)
	    {
	      printf("%d\n",j+1);
	      fl=1;
	      break;
		}
	  if(fl==0) printf("FAIL\n");
	}
  }
  return 0;
}
